package com.zhaosc.spark.core

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext

object UnionOperator {
   def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("ReduceOperator")
      .setMaster("local")
    val sc = new SparkContext(conf)

    val rdd1 = sc.makeRDD(1 to 10,3)
    val rdd2 = sc.makeRDD(11 to 20,2)
    val unionResultRDD = rdd1.union(rdd2)
//    val rdd3 = sc.parallelize((Array("hello","hi")))

    /**
     * reduce：可以将一个RDD中的数据进行聚合，聚合逻辑是由用户传入的
     * union算子注意点：
     * 	要进行合并的两个RDD数据类型必须相同
     */
    println("unionResultRDD.getNumPartitions:" + unionResultRDD.getNumPartitions)
    val result = unionResultRDD.reduce(_+_)
    println(result)
    sc.stop()
  }
}